package com.heng.volatileDemo;

import java.util.concurrent.TimeUnit;

class MyNumber {
    volatile int number;//volatile没有原子性
    public void addPlusPlus() {
        number++;
    }
}

public class VolatileDemo2 {
    static volatile boolean  flag = true;

    public static void main(String[] args) {
        MyNumber number = new MyNumber();
        for(int i = 1;i <= 10;i++ ){
            new Thread(() -> {
                for(int j = 1;j<=1000;j++) {
                    number.addPlusPlus();
                }
            },String.valueOf(i)).start();//String.valueOf(i)这个方法真的很好用！
        }

        try{TimeUnit.SECONDS.sleep(1);}catch (InterruptedException e){e.printStackTrace();}

        System.out.println(number.number);
//

//
//
//        //笑了，MILLSECONDS就能达到可见性的效果！！！

//        flag = false;//为什么是可见的！
//

    }

}
